The invention concerns a system to control a process, for example, a manufacturing process, in which a server device determines the current process value for at least one process parameter, for example a temperature, at different transmission times and distributes it to a plurality of other devices, here referred to as client devices. The invention also includes an appropriate server device and a corresponding client device, as well as a method to operate the server device.
In automation-engineering installations, or systems in short, there is the necessity to exchange process information between different devices. For this purposes, a standard protocol, OPC Unified Architecture (OPC-UA) by the OPC Foundation has become established. (OPC-OLE for process control, OLE-object linking and embedding).
In such scenarios, it is very often the case that multiple consumers of process information (clients) are interested in the same process information, which is repeatedly transmitted from the OPC-UA Server to the different clients. In addition, OPC-UA secures this data transport by means of receipt confirmations, for example. For this purpose, OPC-UA requires that the client and server know each other. A specific peer-to-peer connection is established between the client and the server, the so-called OPC-UA session.
When operating a system, it can happen that a server device becomes overloaded due to managing connections or sessions and multiple transmissions of current process values. Here, it is then required to provide a server device that is more elaborate on a switch-technical level, being therefore more expensive to manufacture. In addition, the multiple transmissions of process values can impair communication behavior of the system, since multiple transmissions of process values block the communication of other devices.
Today, OPC-UA subscriptions are secured (TCP) 1:1 communication relations that a server has to manage. An extension of the UDP protocol is a possible solution. The User Datagram Protocol, in short UDP, is a minimal connectionless Internet protocol that belongs to the transport layer of the Internet protocol family. UDP enables applications to send datagrams in IP-based computer networks. UDP addresses the problem of the I:n relationship, however brings about new problems, for example, non-secured communication. The UDP approach also brings about new attack vulnerabilities to the network and to productive communication, for example, flooding the network with large amounts of data packets.
Thereby, the OPC-UA layer has no possibilities of influencing the network level in line with protocol.
In the case of OPC-UA, subscriptions are used to transmit data changes between the server and client, as already mentioned above: a client creates such a subscription on a server and adds elements, via which it will be informed of value changes. As soon as this subscription is successfully set up, the client is informed of value changes of the entered elements.
A client can create a plurality of subscriptions. In addition to the information about which elements it would like to be informed of, the subscription also contains information about what form or also how frequently it would like to obtain this information/updates.
In order to obtain updates, the client makes a server request, which is responded to by the server with a response as soon as a change in data occurs.
The server must manage the pending requests and send keep-alive messages to the client when no value change occurs.
If a plurality of clients want to be informed of value changes, each individual client must create their own subscription on the server and add the appropriate elements. Then, the server must send a message to each client that contains the same content.
If you would not like to invest the effort for a subscription, the client can also simply make a READ request to the server. Thereby, the server must not manage the subscription mechanism, however, it must establish a context in the case of every read access that uses the server in order to establish an assignment of variable names for the actual variable access.
For both variations (read or subscribe), a session must be established between the client and server, which is valid as long as the client is interested in the value change.
So-called “UDP multitarget subscriptions for OPC-UA” are already known. In the case of this solution, a plurality of clients can be consolidated into multicast clusters in order to minimize the burden of management and transport.
This UDP mechanism cannot however explicitly ensure any service quality and therefore can only be used in environments, in which data loss is acceptable (at least over the short term). Furthermore, the UDP protocol only works unidirectionally.
Therefore, the object of the invention is to efficiently devise an exchange of process values between devices belonging to a system.